914644376ad152b4cc2978d73f44fdd2687e0528,Common/Frameworks/ERExtensions/Sources/er/extensions/ERXExtensions.java,ERXExtensions,refreshSharedObjectsWithName,#String#,839
Before Change
EOEnterpriseObject eo = (EOEnterpriseObject)e.nextElement();
peer.rootObjectStore().refaultObject(eo, peer.globalIDForObject(eo), peer);
}
fetchAll.setRefreshesRefetchedObjects(true);
peer.objectsWithFetchSpecification(fetchAll);
} else {
_log.warn("Attempting to refresh a non-shared EO: " + entityName);
After Change
// FIXME: Uses default model group, and default shared editing context.
// MOVEME: ERXEOFUtilities
public static void refreshSharedObjectsWithName(String entityName) {
if (entityName == null) {
throw new IllegalStateException("Entity name argument is null for method: refreshSharedObjectsWithName");
}
EOSharedEditingContext sharedEC = EOSharedEditingContext.defaultSharedEditingContext();
sharedEC.lock();
try {
EOEntity entity = ERXEOAccessUtilities.entityNamed(sharedEC, entityName);
NSArray fetchSpecNames = entity.sharedObjectFetchSpecificationNames();
int count = (fetchSpecNames != null) ? fetchSpecNames.count() : 0;
if ( count > 0 ) { //same check as ERXEOAccessUtilities.entityWithNamedIsShared(), but avoids duplicate work
for (int index = 0 ; index < count ; ++index) {
String oneFetchSpecName = (String)fetchSpecNames.objectAtIndex(index);
EOFetchSpecification fs = entity.fetchSpecificationNamed(oneFetchSpecName);
if (fs != null) {
fs.setRefreshesRefetchedObjects(true);
sharedEC.bindObjectsWithFetchSpecification(fs, oneFetchSpecName);
}
}